import 'package:flutter/material.dart';

abstract class CoreStyles {
  static const Color lightThemePrimaryRuby =
      Color(0xffe91e63); // розовый, (маджента), азалиевый, малиновый
  static const Color lightThemePrimaryRadicalRed =
      Color(0xffff2d55); // красно-розовый, малиновый, брусничный, (райский красный)
  static const Color lightThemePrimaryRedOrange = Color(0xfffb3d38); // (красный апельсин)
  static const Color lightThemePrimaryHarleyDavidsonOrange =
      Color(0xffca0814); // красная роза, (венецианский красный)
  static const Color lightThemePrimaryPaleVioletRed = Color(0xffe96ea4); // (розовая фуксия)
  static const Color lightThemePrimaryMediumOrchid = Color(0xffae59db); // (фиалковый), цикломеновый
  static const Color lightThemePrimaryMediumPurple =
      Color(0xff9476eb); // лиловый, фиалковый, (лавандовый)
  static const Color lightThemePrimaryDodgerBlue =
      Color(0xff157efb); // королевский синий, небесный синий, (синее небо)
  static const Color lightThemePrimarySymmerSky = Color(0xff21c2eb); // морская волна, (летнее небо)
  static const Color lightThemePrimaryMayaBlue = Color(0xff54adf6); // (лазурное небо)
  static const Color lightThemePrimaryBermudaGrey = Color(0xff6e839d); // (серый шифер)
  static const Color lightThemePrimaryEmerald = Color(0xff3dc65f); // (малахитовый)
  static const Color lightThemePrimaryLimeGreen = Color(0xff32b132); // (зелёный лайм)
  static const Color lightThemePrimarySunglow = Color(0xfffecb2f); // (лимонный / банановый)
  static const Color lightThemePrimaryBrightSun = Color(0xffecb329);
  static const Color lightThemePrimaryNeonCarrot = Color(0xfffd9426); // апельсиновый
  static const Color lightThemePrimaryCarrotOrange = Color(0xffee8222);
  static const Color lightThemePrimaryBlack = Colors.black;

  static const Color darkThemePrimaryRuby = Color(0xffe91e63);
  static const Color darkThemePrimaryRadicalRed = Color(0xffff2d55);
  static const Color darkThemePrimarySunsetOrange = Color(0xfffb4740);
  static const Color darkThemePrimaryHarleyDavidsonOrange = Color(0xffd13420);
  static const Color darkThemePrimaryPaleVioletRed = Color(0xffe96ea4);
  static const Color darkThemePrimaryMediumOrchid = Color(0xffbe61f0);
  static const Color darkThemePrimaryMediumPurple = Color(0xff9476eb);
  static const Color darkThemePrimaryDodgerBlue = Color(0xff1c87fb);
  static const Color darkThemePrimarySymmerSky = Color(0xff21c2eb);
  static const Color darkThemePrimaryMayaBlue = Color(0xff54adf6);
  static const Color darkThemePrimaryBermudaGrey = Color(0xff6e839d);
  static const Color darkThemePrimaryEmerald = Color(0xff3bcf5e);
  static const Color darkThemePrimaryLimeGreen = Color(0xff32b132);
  static const Color darkThemePrimarySunglow = Color(0xfffed533);
  static const Color darkThemePrimaryBrightSun = Color(0xffecb329);
  static const Color darkThemePrimaryNeonCarrot = Color(0xfffd9f2b);
  static const Color darkThemePrimaryCarrotOrange = Color(0xffee8222);
  static const Color darkThemePrimaryWhite = Colors.white;

  static const Color pink = Color(0xffe91e63);
  static const Color appleMusicPink = Color(0xffff2d55);
  static const Color rewordPink = Color(0xffef174d);

  static const Color lightGrey1 = Color(0xfff2f2f7);
  static const Color lightGrey2 = Color(0xffe5e5ea);

  static const Color lightGrey3 = Color(0xffdddde2);
  static const Color lightGrey4 = Color(0xffc3c4c6);
  static const Color lightGrey5 = Color(0xffb4b4b4);

  static const Color grey1 = Color(0xff98989f);
  static const Color grey2 = Color(0xff8a8a8e);
  static const Color grey3 = Color(0xff757575);
  static const Color grey4 = Color(0xff6d6d72);
  static const Color grey5 = Color(0xff5a5a5f);

  static const Color darkGrey1 = Color(0xff3e3e41);
  static const Color darkGrey2 = Color(0xff2b2c2e);
  static const Color darkGrey3 = Color(0xff1c1c1e);
  static const Color darkGrey4 = Color(0xff121212);

  static const Color lightGreen = Color(0xff66d26c);
  static const Color green = Color(0xff4caf50);

  static const Color defaultDarkTextColor = Color(0xff000000);
  static const Color defaultLightTextColor = Color(0xffffffff);

  static const Color lightThemeDefaultDestructiveTextColor = Color(0xffff3b30);
  static const Color darkThemeDefaultDestructiveTextColor = Color(0xffff453a);

  static const fontFamily = 'SF Pro Text';
  static const baseTextStyle = TextStyle(
    inherit: false,
    textBaseline: TextBaseline.alphabetic,
    fontFamily: fontFamily,
    height: 1.0,
    letterSpacing: 0,
    decoration: TextDecoration.none,
    color: Colors.transparent,
  );

  /////////////////////////////////////////////////////////////////////////////////////////////////
  // Navigation bar
  /////////////////////////////////////////////////////////////////////////////////////////////////

  static TextStyle navigationBarTitleTextStyle = baseTextStyle.copyWith(
    fontSize: 20,
    fontWeight: FontWeight.w600,
    letterSpacing: 0,
  );

  static TextStyle navigationBarButtonTextStyle = baseTextStyle.copyWith(
    fontSize: 17,
    fontWeight: FontWeight.w400,
    letterSpacing: -0.41,
  );
  static TextStyle navigationBarBoldButtonTextStyle = navigationBarButtonTextStyle.copyWith(
    fontWeight: FontWeight.w600,
  );

  /////////////////////////////////////////////////////////////////////////////////////////////////
  // Tiles
  /////////////////////////////////////////////////////////////////////////////////////////////////

  static final tileTitleTextStyle = baseTextStyle.copyWith(
    fontSize: 17.5,
    fontWeight: FontWeight.w400,
    letterSpacing: 0.2,
    height: 1.2,
  );
  static final tileBoldTitleTextStyle = tileTitleTextStyle.copyWith(
    fontWeight: FontWeight.w600,
  );

  static final tileSubtitleTextStyle = baseTextStyle.copyWith(
    fontSize: 12,
    fontWeight: FontWeight.w400,
    letterSpacing: -0.2,
  );

  static final tileGroupHeaderTextStyle = baseTextStyle.copyWith(
    fontSize: 13,
    fontWeight: FontWeight.w400,
    letterSpacing: 0,
  );
  static final tileGroupFooterTextStyle = tileGroupHeaderTextStyle;

  static final tileNavigationIndicatorLabelTextStyle = tileTitleTextStyle;

  static TextStyle tilePremiumBadgeTextStyle = CoreStyles.baseTextStyle.copyWith(
    fontSize: 9,
    fontWeight: FontWeight.w600,
    height: 1.2,
  );

  /////////////////////////////////////////////////////////////////////////////////////////////////
  // Dialogs
  /////////////////////////////////////////////////////////////////////////////////////////////////

  static TextStyle actionDialogMessageTextStyle = baseTextStyle.copyWith(
    fontSize: 13.0,
    fontWeight: FontWeight.w400,
    height: 1.2,
  );

  static TextStyle actionDialogActionTextStyle = baseTextStyle.copyWith(
    fontSize: 20.0,
    fontWeight: FontWeight.w400,
    height: 1.2,
  );

  static TextStyle actionDialogPremiumBadgeTextStyle = baseTextStyle.copyWith(
    fontSize: 9.5,
    fontWeight: FontWeight.w600,
    height: 1.2,
  );

  static TextStyle alertDialogTitleTextStyle = baseTextStyle.copyWith(
    fontSize: 17.0,
    fontWeight: FontWeight.w600,
    height: 1.3,
    letterSpacing: -0.5,
  );

  static TextStyle alertDialogMessageTextStyle = baseTextStyle.copyWith(
    fontSize: 14.0,
    fontWeight: FontWeight.w400,
    height: 1.3,
  );

  static TextStyle alertDialogActionTextStyle = baseTextStyle.copyWith(
    fontSize: 16.8,
    fontWeight: FontWeight.w400,
  );

  /////////////////////////////////////////////////////////////////////////////////////////////////
  // Other
  /////////////////////////////////////////////////////////////////////////////////////////////////

  static TextStyle overlayButtonTextStyle = CoreStyles.baseTextStyle.copyWith(
    fontSize: 20,
    fontWeight: FontWeight.w400,
    letterSpacing: 0.2,
  );
}
